Platform Explorer / Nuxeo Platform 2021.26

Contribution org.nuxeo.ecm.platform.forms.layouts.webapp.listing--widgettypes

This contribution is part of XML component org.nuxeo.ecm.platform.forms.layouts.webapp.listing inside nuxeo-platform-webapp-base-2021.26.5.jar /OSGI-INF/layouts-listing-contrib.xml

Documentation

The widget types from this contribution are intended to be used within a layout displaying a table line. They can be configured to match metadata from a table iteration item.

The template "/layouts/layout_listing_template.xhtml" handles specific configuration for lists of documents rendering. It applies to an item instance of SelectDataModel named "documents" in the EL context.

It also requires the following variables to be present in the EL context:

  • provider: result provider used to get the list of items, its name will be used, as well as sort and pagination features it provides.
  • layoutListingStatus: iteration status as provided by the "c:forEach" tag, used to print table header matching widget label.

It accepts the the following properties configuration:

  • showListingHeader: true or false, used to define whether the table header should be displayed. This property can also be passed in the EL context, using the table iteration status. Defaults to false.
  • showRowEvenOddClass: true or false, used to define if a style class should be set on table rows depending on the layoutListingStatus index variable (row or odd). Defaults to false.

Its layout columns accept the following properties configuration:

  • useFirstWidgetLabelAsColumnHeader: true or false, used to define if first widget label should be used as column header label. Will use translation settings from the widget configuration. Defaults to false.
  • sortPropertyName: name of the property that will be used by the result provider when clicking on the table header. If not set, the sort link will not be displayed. Defaults to null.
  • defaultSortAscending: define the initial sort order of the column (true : ascending, false : descending) Defaults to null (will be interpreted as ascending=true).
  • columnStyleClass: name of the style class that will be used for the given column. Defaults to null.

Extension Point

Extension point widgettypes of component WebLayoutManager.

Registration Order

10
The registration order represents the order in which this contribution was registered on its target extention point. This will impact the override/merge behaviour when it is implemented on the target service, and is useful for proper customization of existing contributions.
You can influence this order by adding "require" tags in the containing component declaration, to make sure it is resolved after another component (see "Resolution Order" on components).

Contributed Items

  • <widgetType name="listing_ajax_selection_box_with_current_document">
          <aliases>
            <alias>listing_selection_box_with_current_document</alias>
          </aliases>
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Ajax selection checkbox with current document</title>
            <description>
              <p>
                This widget type displays a selection checkbox, that will perform
                ajax selection of given item. The current document information is
                also provided to restore current context when clicking on the link.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps a boolean representing the selection state
                  </li>
                  <li>
                    second field maps the string identifier used to perform
                    selection
                  </li>
                </ul>
              </p>
              <p>
                It also requires the following variables to be present in the EL
                context:
                <ul>
                  <li>
                    provider: result provider used to get the list of items, its
                    name will be used.
                  </li>
                  <li>
                    listName: the name of the list that will hold selected items
                  </li>
                  <li>currentDocument: the current document</li>
                </ul>
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>selected</field>
                <field>data.ref</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>hidden_listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_ajax_selection_box_with_current_document_widget_template.xhtml
          </property>
    
        </widgetType>
  • <widgetType name="listing_ajax_selection_box">
          <aliases>
            <alias>listing_selection_box</alias>
          </aliases>
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Ajax selection checkbox</title>
            <description>
              <p>
                This widget type displays a selection checkbox, that will perform
                ajax selection of given item.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps a boolean representing the selection state
                  </li>
                  <li>
                    second field maps the string identifier used to perform
                    selection
                  </li>
                </ul>
              </p>
              <p>
                It also requires the following variables to be present in the EL
                context:
                <ul>
                  <li>
                    provider: result provider used to get the list of items, its
                    name will be used.
                  </li>
                  <li>
                    listName: the name of the list that will hold selected items
                  </li>
                </ul>
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>selected</field>
                <field>data.ref</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>hidden_listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_ajax_selection_box_widget_template.xhtml
          </property>
        </widgetType>
  • <widgetType name="listing_icon_type">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Icon and document type</title>
            <description>
              <p>
                This widget type displays a draggable icon corresponding to a
                document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, the jsf method
                    nxd:iconPath will be used to provide its icon
                  </li>
                  <li>
                    second field maps the unique id to be used as drag/drop
                    identified (e.g. the document model id)
                  </li>
                  <li>
                    third field maps the icon title (can be the document model
                    type)
                  </li>
                  <li>
                    fourth field maps a boolean stating whether the widget
                    displays a droppable zone (e.g. if document is folderish)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_icon_typeWidget"/>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
                <field>data.ref</field>
                <field>data.type</field>
                <field>data.folder</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_icon_type_widget_template.xhtml
          </property>
    
        </widgetType>
  • <widgetType name="listing_big_icon_type">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Big icon and document type</title>
            <description>
              <p>
                This widget type displays a big draggable icon corresponding to a
                document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, the jsf method
                    nxd:bigIconPath will be used to provide its icon
                  </li>
                  <li>
                    second field maps the unique id to be used as drag/drop
                    identified (e.g. the document model id)
                  </li>
                  <li>
                    third field maps the displayed icon title (can be the document
                    model type)
                  </li>
                  <li>
                    fourth field maps a boolean stating whether the widget
                    displays
                    a droppable zone (e.g. if document is folderish)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_big_icon_typeWidget"/>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
                <field>data.ref</field>
                <field>data.type</field>
                <field>data.folder</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_big_icon_type_widget_template.xhtml
          </property>
    
        </widgetType>
  • <widgetType name="listing_big_icon_type_link">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Big icon and document type with link</title>
            <description>
              <p>
                This widget type displays a big draggable icon corresponding to a
                document with a link to the document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, the jsf method
                    nxd:bigIconPath will be used to provide its icon and to display
                    the document link
                  </li>
                  <li>
                    second field maps the unique id to be used as drag/drop
                    identified (e.g. the document model id)
                  </li>
                  <li>
                    third field maps the displayed icon title (can be the document
                    model type)
                  </li>
                  <li>
                    fourth field maps a boolean stating whether the widget
                    displays
                    a droppable zone (e.g. if document is folderish)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_big_icon_type_linkWidget"/>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
                <field>data.ref</field>
                <field>data.type</field>
                <field>data.folder</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_big_icon_type_link_widget_template.xhtml
          </property>
    
        </widgetType>
  • <widgetType name="listing_title_link">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Title with link</title>
            <description>
              <p>
                This widget type displays a link to navigate to a document, as well
                as a download link for the document binary content.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, it will be used to
                    display the document link and its title
                  </li>
                  <li>
                    second field maps the unique id to be used for contextual menu
                    (e.g. the document model id)
                  </li>
                  <li>
                    third field maps the displayed link title (can be the document
                    model description)
                  </li>
                  <li>
                    fourth field maps the document model file to be used for
                    download link
                  </li>
                  <li>
                    fifth field maps the file name to be used for download link
                    (can be the document model file name property value)
                  </li>
                </ul>
              </p>
              <p>
                It also requires the following properties configuration:
                <ul>
                  <li>
                    file_schema: the file schema name, used to check whether
                    download link should be displayed (e.g: file)
                  </li>
                  <li>
                    file_property_name: the file property name (e.g file:content)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_title_linkWidget"/>
            <confProperties>
              <property name="sortPropertyName">dc:title</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
                <field>data.ref</field>
                <field>data.dc.description</field>
                <field>data.file.content</field>
                <field>data.file.content.filename</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="hideExternalLink">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="listing_title_link_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">listing_link_tab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_subTab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_tabs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_target</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_pattern</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_view</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_hideExternalLink</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_hideDownloadLink</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_title_link_widget_template.xhtml
          </property>
    
        </widgetType>
  • <widgetType name="listing_id_title_link">
          <configuration>
            <sinceVersion>7.4</sinceVersion>
            <title>Document id title with link</title>
            <description>
              <p>
                This widget type displays a link to navigate to a document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document id, it will be used to
                    display the document link
                  </li>
                  <li>
                    second field maps the repository name, it will be used to
                    display the document link
                  </li>
                  <li>
                    third field maps the displayed link title
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_id_title_linkWidget"/>
            <confProperties>
              <property name="sortPropertyName">dc:title</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.id</field>
                <field>data.repositoryName</field>
                <field>data.dc.title</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="view">view_documents</property>
                <property name="pattern">id</property>
                <property name="hideExternalLink">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="listing_id_title_link_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">listing_link_tab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_subTab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_tabs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_target</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_pattern</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_view</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_hideExternalLink</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_id_title_link_widget_template.xhtml
          </property>
    
        </widgetType>
  • <widgetType name="listing_lock_icon">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Lock icon</title>
            <description>
              <p>This widget type displays a lock icon.</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps a property stating that lock icon should be
                    displayed if not empty (e.g. the document model lock state)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_lock_iconWidget"/>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.lock</field>
                <field>data.lockInfo</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_lock_icon_widget_template.xhtml
          </property>
        </widgetType>
  • <widgetType name="listing_author">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Author</title>
            <description>
              <p>This widget type displays a user name.</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>first field mapping the user identifier</li>
                </ul>
              </p>
            </description>
            <demo id="listing_authorWidget"/>
            <confProperties>
              <property name="sortPropertyName">dc:creator</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.dc.creator</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/single_user_widget_template.xhtml
          </property>
        </widgetType>
  • <widgetType name="listing_last_contributor">
          <configuration>
            <sinceVersion>5.4.2</sinceVersion>
            <title>Last contributor</title>
            <description>
              <p>This widget type displays the last contributor name</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>first field mapping the lastContributor field</li>
                </ul>
              </p>
            </description>
            <demo id="listing_last_contributorWidget"/>
            <confProperties>
              <property name="sortPropertyName">dc:lastContributor</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.dc.lastContributor</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/single_user_widget_template.xhtml
          </property>
    
        </widgetType>
  • <widgetType name="listing_lifecycle">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Lifecycle state</title>
            <description>
              <p>This widget type displays a life cycle state name.</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>first field mapping the life cycle state name</li>
                </ul>
              </p>
            </description>
            <demo id="listing_lifecycleWidget"/>
            <confProperties>
              <property name="sortPropertyName">ecm:currentLifeCycleState</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.currentLifeCycleState</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_lifecycle_widget_template.xhtml
          </property>
        </widgetType>
  • <widgetType name="listing_livedit_link">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Live edit link</title>
            <description>
              <p>This widget type displays a live edit link.</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field mapping the document model to be used for live
                    edit link
                  </li>
                </ul>
              </p>
              <p>
                It also requires the following properties configuration:
                <ul>
                  <li>file_schema: the file schema name</li>
                  <li>file_field_name: the file field name</li>
                  <li>filename_field_name: the file name field name</li>
                </ul>
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_livedit_link_widget_template.xhtml
          </property>
    
        </widgetType>
  • <widgetType name="listing_version">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Version</title>
            <description>
              <p>This widget type displays a document model version label</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field mapping the document model, its version label will
                    be retrieved querying the versioning service
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_versionWidget"/>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_version_widget_template.xhtml
          </property>
        </widgetType>
  • <widgetType name="listing_thumbnail">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Thumbnail</title>
            <description>
              <p>This widget type displays the document thumbnail.</p>
              <p>
                It requires the following fields configuration: first field maps
                the document model.
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_thumbnail_widget_template.xhtml
          </property>
        </widgetType>
  • <widgetType name="listing_main_file_size">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Main File Size</title>
            <description>
              <p>
                This widget type displays the size of the main blob of the
                document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, it will be used to
                    display the size.
                  </li>
                </ul>
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_main_file_size_widget_template.xhtml
          </property>
        </widgetType>
  • <widgetType name="listing_main_file_format">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Main File Format</title>
            <description>
              <p>
                This widget type displays the format of the main file of the
                document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, it will be used to
                    display the format.
                  </li>
                </ul>
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_main_file_format_widget_template.xhtml
          </property>
        </widgetType>
  • <widgetType name="listing_manage_document">
          <configuration>
            <sinceVersion>5.9.3</sinceVersion>
            <title>Manage Document</title>
            <description>
              <p>This widget type displays a clickable icon when the document can be
                managed by the current user. Clicking the icon goes directly to the
                manage
                tab.
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_manage_document.xhtml
          </property>
    
        </widgetType>

XML Source

<extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">

    <documentation>
      The widget types from this contribution are intended to be used within a
      layout displaying a table line. They can be configured to match metadata
      from a table iteration item.
      <br/>

      The template "/layouts/layout_listing_template.xhtml" handles specific
      configuration for lists of documents rendering. It applies to an item
      instance of SelectDataModel named "documents" in the EL context.
      <br/>

      It also requires the following variables to be present in the EL context:
      <ul>
        <li>
          provider: result provider used to get the list of items, its name
          will
          be used, as well as sort and pagination features it provides.
        </li>
        <li>
          layoutListingStatus: iteration status as provided by the "c:forEach"
          tag, used to print table header matching widget label.
        </li>
      </ul>

      It accepts the the following properties configuration:
      <ul>
        <li>
          showListingHeader: true or false, used to define whether the table
          header should be displayed. This property can also be passed in the EL
          context, using the table iteration status. Defaults to false.
        </li>
        <li>
          showRowEvenOddClass: true or false, used to define if a style class
          should be set on table rows depending on the layoutListingStatus index
          variable (row or odd). Defaults to false.
        </li>
      </ul>
      Its layout columns accept the following properties configuration:
      <ul>
        <li>
          useFirstWidgetLabelAsColumnHeader: true or false, used to define if
          first widget label should be used as column header label. Will use
          translation settings from the widget configuration. Defaults to false.
        </li>
        <li>
          sortPropertyName: name of the property that will be used by the
          result provider when clicking on the table header. If not set, the
          sort link will not be displayed. Defaults to null.
        </li>
        <li>
          defaultSortAscending: define the initial sort order of the column
          (true : ascending, false : descending) Defaults to null (will be
          interpreted as ascending=true).
        </li>
        <li>
          columnStyleClass: name of the style class that will be used for the
          given column. Defaults to null.
        </li>
      </ul>
    </documentation>

    <widgetType name="listing_ajax_selection_box_with_current_document">
      <aliases>
        <alias>listing_selection_box_with_current_document</alias>
      </aliases>
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Ajax selection checkbox with current document</title>
        <description>
          <p>
            This widget type displays a selection checkbox, that will perform
            ajax selection of given item. The current document information is
            also provided to restore current context when clicking on the link.
          </p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps a boolean representing the selection state
              </li>
              <li>
                second field maps the string identifier used to perform
                selection
              </li>
            </ul>
          </p>
          <p>
            It also requires the following variables to be present in the EL
            context:
            <ul>
              <li>
                provider: result provider used to get the list of items, its
                name will be used.
              </li>
              <li>
                listName: the name of the list that will hold selected items
              </li>
              <li>currentDocument: the current document</li>
            </ul>
          </p>
        </description>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>selected</field>
            <field>data.ref</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>hidden_listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_ajax_selection_box_with_current_document_widget_template.xhtml
      </property>

    </widgetType>

    <widgetType name="listing_ajax_selection_box">
      <aliases>
        <alias>listing_selection_box</alias>
      </aliases>
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Ajax selection checkbox</title>
        <description>
          <p>
            This widget type displays a selection checkbox, that will perform
            ajax selection of given item.
          </p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps a boolean representing the selection state
              </li>
              <li>
                second field maps the string identifier used to perform
                selection
              </li>
            </ul>
          </p>
          <p>
            It also requires the following variables to be present in the EL
            context:
            <ul>
              <li>
                provider: result provider used to get the list of items, its
                name will be used.
              </li>
              <li>
                listName: the name of the list that will hold selected items
              </li>
            </ul>
          </p>
        </description>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>selected</field>
            <field>data.ref</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>hidden_listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_ajax_selection_box_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="listing_icon_type">
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Icon and document type</title>
        <description>
          <p>
            This widget type displays a draggable icon corresponding to a
            document.
          </p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps the document model, the jsf method
                nxd:iconPath will be used to provide its icon
              </li>
              <li>
                second field maps the unique id to be used as drag/drop
                identified (e.g. the document model id)
              </li>
              <li>
                third field maps the icon title (can be the document model
                type)
              </li>
              <li>
                fourth field maps a boolean stating whether the widget
                displays a droppable zone (e.g. if document is folderish)
              </li>
            </ul>
          </p>
        </description>
        <demo id="listing_icon_typeWidget"/>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data</field>
            <field>data.ref</field>
            <field>data.type</field>
            <field>data.folder</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_icon_type_widget_template.xhtml
      </property>

    </widgetType>

    <widgetType name="listing_big_icon_type">
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Big icon and document type</title>
        <description>
          <p>
            This widget type displays a big draggable icon corresponding to a
            document.
          </p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps the document model, the jsf method
                nxd:bigIconPath will be used to provide its icon
              </li>
              <li>
                second field maps the unique id to be used as drag/drop
                identified (e.g. the document model id)
              </li>
              <li>
                third field maps the displayed icon title (can be the document
                model type)
              </li>
              <li>
                fourth field maps a boolean stating whether the widget
                displays
                a droppable zone (e.g. if document is folderish)
              </li>
            </ul>
          </p>
        </description>
        <demo id="listing_big_icon_typeWidget"/>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data</field>
            <field>data.ref</field>
            <field>data.type</field>
            <field>data.folder</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_big_icon_type_widget_template.xhtml
      </property>

    </widgetType>

    <widgetType name="listing_big_icon_type_link">
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Big icon and document type with link</title>
        <description>
          <p>
            This widget type displays a big draggable icon corresponding to a
            document with a link to the document.
          </p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps the document model, the jsf method
                nxd:bigIconPath will be used to provide its icon and to display
                the document link
              </li>
              <li>
                second field maps the unique id to be used as drag/drop
                identified (e.g. the document model id)
              </li>
              <li>
                third field maps the displayed icon title (can be the document
                model type)
              </li>
              <li>
                fourth field maps a boolean stating whether the widget
                displays
                a droppable zone (e.g. if document is folderish)
              </li>
            </ul>
          </p>
        </description>
        <demo id="listing_big_icon_type_linkWidget"/>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data</field>
            <field>data.ref</field>
            <field>data.type</field>
            <field>data.folder</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_big_icon_type_link_widget_template.xhtml
      </property>

    </widgetType>

    <widgetType name="listing_title_link">
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Title with link</title>
        <description>
          <p>
            This widget type displays a link to navigate to a document, as well
            as a download link for the document binary content.
          </p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps the document model, it will be used to
                display the document link and its title
              </li>
              <li>
                second field maps the unique id to be used for contextual menu
                (e.g. the document model id)
              </li>
              <li>
                third field maps the displayed link title (can be the document
                model description)
              </li>
              <li>
                fourth field maps the document model file to be used for
                download link
              </li>
              <li>
                fifth field maps the file name to be used for download link
                (can be the document model file name property value)
              </li>
            </ul>
          </p>
          <p>
            It also requires the following properties configuration:
            <ul>
              <li>
                file_schema: the file schema name, used to check whether
                download link should be displayed (e.g: file)
              </li>
              <li>
                file_property_name: the file property name (e.g file:content)
              </li>
            </ul>
          </p>
        </description>
        <demo id="listing_title_linkWidget"/>
        <confProperties>
          <property name="sortPropertyName">dc:title</property>
        </confProperties>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data</field>
            <field>data.ref</field>
            <field>data.dc.description</field>
            <field>data.file.content</field>
            <field>data.file.content.filename</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
        <properties>
          <defaultValues mode="any">
            <property name="hideExternalLink">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="listing_title_link_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">listing_link_tab</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_subTab</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_tabs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_target</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">localize</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_pattern</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_view</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_hideExternalLink</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_hideDownloadLink</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_title_link_widget_template.xhtml
      </property>

    </widgetType>

    <widgetType name="listing_id_title_link">
      <configuration>
        <sinceVersion>7.4</sinceVersion>
        <title>Document id title with link</title>
        <description>
          <p>
            This widget type displays a link to navigate to a document.
          </p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps the document id, it will be used to
                display the document link
              </li>
              <li>
                second field maps the repository name, it will be used to
                display the document link
              </li>
              <li>
                third field maps the displayed link title
              </li>
            </ul>
          </p>
        </description>
        <demo id="listing_id_title_linkWidget"/>
        <confProperties>
          <property name="sortPropertyName">dc:title</property>
        </confProperties>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data.id</field>
            <field>data.repositoryName</field>
            <field>data.dc.title</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
        <properties>
          <defaultValues mode="any">
            <property name="view">view_documents</property>
            <property name="pattern">id</property>
            <property name="hideExternalLink">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="listing_id_title_link_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">listing_link_tab</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_subTab</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_tabs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_target</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_pattern</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_view</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">localize</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">listing_link_hideExternalLink</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_id_title_link_widget_template.xhtml
      </property>

    </widgetType>

    <widgetType name="listing_lock_icon">
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Lock icon</title>
        <description>
          <p>This widget type displays a lock icon.</p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps a property stating that lock icon should be
                displayed if not empty (e.g. the document model lock state)
              </li>
            </ul>
          </p>
        </description>
        <demo id="listing_lock_iconWidget"/>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data.lock</field>
            <field>data.lockInfo</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_lock_icon_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="listing_author">
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Author</title>
        <description>
          <p>This widget type displays a user name.</p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>first field mapping the user identifier</li>
            </ul>
          </p>
        </description>
        <demo id="listing_authorWidget"/>
        <confProperties>
          <property name="sortPropertyName">dc:creator</property>
        </confProperties>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data.dc.creator</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/single_user_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="listing_last_contributor">
      <configuration>
        <sinceVersion>5.4.2</sinceVersion>
        <title>Last contributor</title>
        <description>
          <p>This widget type displays the last contributor name</p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>first field mapping the lastContributor field</li>
            </ul>
          </p>
        </description>
        <demo id="listing_last_contributorWidget"/>
        <confProperties>
          <property name="sortPropertyName">dc:lastContributor</property>
        </confProperties>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data.dc.lastContributor</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/single_user_widget_template.xhtml
      </property>

    </widgetType>

    <!-- Deprecated since NXP-6825 is fixed but still useful for Studio configuration -->
    <widgetType name="listing_lifecycle">
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Lifecycle state</title>
        <description>
          <p>This widget type displays a life cycle state name.</p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>first field mapping the life cycle state name</li>
            </ul>
          </p>
        </description>
        <demo id="listing_lifecycleWidget"/>
        <confProperties>
          <property name="sortPropertyName">ecm:currentLifeCycleState</property>
        </confProperties>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data.currentLifeCycleState</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_lifecycle_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="listing_livedit_link">
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Live edit link</title>
        <description>
          <p>This widget type displays a live edit link.</p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field mapping the document model to be used for live
                edit link
              </li>
            </ul>
          </p>
          <p>
            It also requires the following properties configuration:
            <ul>
              <li>file_schema: the file schema name</li>
              <li>file_field_name: the file field name</li>
              <li>filename_field_name: the file name field name</li>
            </ul>
          </p>
        </description>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_livedit_link_widget_template.xhtml
      </property>

    </widgetType>

    <widgetType name="listing_version">
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Version</title>
        <description>
          <p>This widget type displays a document model version label</p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field mapping the document model, its version label will
                be retrieved querying the versioning service
              </li>
            </ul>
          </p>
        </description>
        <demo id="listing_versionWidget"/>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_version_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="listing_thumbnail">
      <configuration>
        <sinceVersion>5.7.2</sinceVersion>
        <title>Thumbnail</title>
        <description>
          <p>This widget type displays the document thumbnail.</p>
          <p>
            It requires the following fields configuration: first field maps
            the document model.
          </p>
        </description>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_thumbnail_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="listing_main_file_size">
      <configuration>
        <sinceVersion>5.7.2</sinceVersion>
        <title>Main File Size</title>
        <description>
          <p>
            This widget type displays the size of the main blob of the
            document.
          </p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps the document model, it will be used to
                display the size.
              </li>
            </ul>
          </p>
        </description>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_main_file_size_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="listing_main_file_format">
      <configuration>
        <sinceVersion>5.7.2</sinceVersion>
        <title>Main File Format</title>
        <description>
          <p>
            This widget type displays the format of the main file of the
            document.
          </p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps the document model, it will be used to
                display the format.
              </li>
            </ul>
          </p>
        </description>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_main_file_format_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="listing_manage_document">
      <configuration>
        <sinceVersion>5.9.3</sinceVersion>
        <title>Manage Document</title>
        <description>
          <p>This widget type displays a clickable icon when the document can be
            managed by the current user. Clicking the icon goes directly to the
            manage
            tab.
          </p>
        </description>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field>data</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>listing</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_manage_document.xhtml
      </property>

    </widgetType>

  </extension>